import 'dart:convert';

import 'package:flutter_deer/generated/json/base/json_field.dart';
import 'package:flutter_deer/generated/json/order_list_bean_entity.g.dart';

export 'package:flutter_deer/generated/json/order_list_bean_entity.g.dart';

@JsonSerializable()
class OrderListBeanEntity {
	List<OrderListBeanList>? list = [];
	int? total = 0;

	OrderListBeanEntity();

	factory OrderListBeanEntity.fromJson(Map<String, dynamic> json) => $OrderListBeanEntityFromJson(json);

	Map<String, dynamic> toJson() => $OrderListBeanEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class OrderListBeanList {
	String? cashBackAmount = '';
	String? clientType = '';
	String? clientTypeName = '';
	bool? compositePay = false;
	int? consumeIntegral = 0;
	String? consumeType = '';
	String? coverImageUrl = '';
	OrderListBeanListDeliveryInfoResponse? deliveryInfoResponse;
	int? deliveryStatus = 0;
	int? deliveryType = 0;
	int? goodsIntegral = 0;
	String? goodsName = '';
	String? goodsNames = '';
	String? goodsTypes = '';
	String? mchGoodsName = '';
	String? mchGoodsNum = '';
	String? mchName = '';
	int? memberPayAmount = 0;
	String? orderAmount = '';
	int? orderCategory = 0;
	String? orderCode = '';
	List<OrderListBeanListOrderDiscounts>? orderDiscounts = [];
	List<OrderListBeanListOrderGoodsDetailResponse>? orderGoodsDetailResponse = [];
	String orderId = '';
	int? orderStatus = 0;
	String? orderTime = '';
	int? orderType = 0;
	int? payAmount = 0;
	List<dynamic>? payTypeNames = [];
	List<dynamic>? payTypes = [];
	int? payableAmount = 0;
	String? phone = '';
	int? quantity = 0;
	int? sortTimestamp = 0;
	String? staffName = '';
	String? supplierCode = '';
	int? tempOrderAmount = 0;
	int? virtualGoods = 0;

	OrderListBeanList();

	factory OrderListBeanList.fromJson(Map<String, dynamic> json) => $OrderListBeanListFromJson(json);

	Map<String, dynamic> toJson() => $OrderListBeanListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class OrderListBeanListDeliveryInfoResponse {
	String? address = '';
	String? consigneeName = '';
	String? consigneePhone = '';
	String? createName = '';
	String? createTime = '';
	String? deliveryCode = '';
	int? deliveryStatus = 0;
	int? deliveryType = 0;
	int? id = 0;
	int? isDeleted = 0;
	String? mchCode = '';
	String? orderCode = '';
	int? orderGoodsId = 0;
	int? orderId = 0;
	String? updateName = '';
	String? updateTime = '';

	OrderListBeanListDeliveryInfoResponse();

	factory OrderListBeanListDeliveryInfoResponse.fromJson(Map<String, dynamic> json) => $OrderListBeanListDeliveryInfoResponseFromJson(json);

	Map<String, dynamic> toJson() => $OrderListBeanListDeliveryInfoResponseToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class OrderListBeanListOrderDiscounts {
	int? discountAmount = 0;
	String? failReason = '';
	int? finishTime = 0;
	int? id = 0;
	int? orderId = 0;
	String? outTradeNo = '';
	int? payAmount = 0;
	String? payChannel = '';
	String? payChannelName = '';
	String? payMethod = '';
	int? payStatus = 0;
	int? payTime = 0;
	String? payType = '';
	String? payTypeName = '';
	int? payableAmount = 0;
	String? tradeNo = '';

	OrderListBeanListOrderDiscounts();

	factory OrderListBeanListOrderDiscounts.fromJson(Map<String, dynamic> json) => $OrderListBeanListOrderDiscountsFromJson(json);

	Map<String, dynamic> toJson() => $OrderListBeanListOrderDiscountsToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class OrderListBeanListOrderGoodsDetailResponse {
	int? actualAmount = 0;
	int? consumeIntegral = 0;
	String? coverImageUrl = '';
	String? deliveryCode = '';
	int? deliveryStatus = 0;
	int? deliveryType = 0;
	int? discountAmount = 0;
	int? discountIntegral = 0;
	List<dynamic>? energyOrderCodeList = [];
	int? giveIntegral = 0;
	int? goodsAmount = 0;
	int? goodsCategoryId = 0;
	List<OrderListBeanListOrderGoodsDetailResponseGoodsDiscountList>? goodsDiscountList = [];
	int? goodsIntegral = 0;
	int? goodsType = 0;
	int? integral = 0;
	int? isSettlement = 0;
	int? mchGoodsId = 0;
	String? mchGoodsName = '';
	String? orderCode = '';
	List<OrderListBeanListOrderGoodsDetailResponseOrderGoodsCoupons>? orderGoodsCoupons = [];
	int? orderGoodsId = 0;
	int? orderId = 0;
	OrderListBeanListOrderGoodsDetailResponseOrderLogistics? orderLogistics;
	int? orderStatus = 0;
	int? payAmount = 0;
	int? price = 0;
	int? quantity = 0;
	int? refundStatus = 0;
	int? salesChannelGoodsId = 0;
	int? shelfId = 0;
	int? shelfNo = 0;
	String? shelfNoStr = '';
	String? supplierCode = '';
	String? supplierName = '';
	String? unit = '';

	OrderListBeanListOrderGoodsDetailResponse();

	factory OrderListBeanListOrderGoodsDetailResponse.fromJson(Map<String, dynamic> json) => $OrderListBeanListOrderGoodsDetailResponseFromJson(json);

	Map<String, dynamic> toJson() => $OrderListBeanListOrderGoodsDetailResponseToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class OrderListBeanListOrderGoodsDetailResponseGoodsDiscountList {
	String? bizCode = '';
	int? bizId = 0;
	int? discountAmount = 0;
	String? discountDesc = '';
	int? discountIntegral = 0;
	String? discountType = '';
	int? goodsQuantity = 0;
	int? mchGoodsId = 0;
	int? orderFinanceId = 0;
	int? orderId = 0;
	String? payChannel = '';
	String? payChannelName = '';
	int? useIntegral = 0;

	OrderListBeanListOrderGoodsDetailResponseGoodsDiscountList();

	factory OrderListBeanListOrderGoodsDetailResponseGoodsDiscountList.fromJson(Map<String, dynamic> json) => $OrderListBeanListOrderGoodsDetailResponseGoodsDiscountListFromJson(json);

	Map<String, dynamic> toJson() => $OrderListBeanListOrderGoodsDetailResponseGoodsDiscountListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class OrderListBeanListOrderGoodsDetailResponseOrderGoodsCoupons {
	String? couponRuleDesc = '';
	String? createName = '';
	String? createTime = '';
	int? id = 0;
	bool? isDeleted = false;
	int? masterOrderId = 0;
	String? mchCouponAmount = '';
	int? mchCouponId = 0;
	String? mchCouponName = '';
	int? mchGoodsId = 0;
	String? mchGoodsName = '';
	int? orderGoodsId = 0;
	int? orderId = 0;
	int? quantity = 0;
	String? remark = '';
	int? salesChannelGoodsId = 0;
	String? updateName = '';
	String? updateTime = '';

	OrderListBeanListOrderGoodsDetailResponseOrderGoodsCoupons();

	factory OrderListBeanListOrderGoodsDetailResponseOrderGoodsCoupons.fromJson(Map<String, dynamic> json) => $OrderListBeanListOrderGoodsDetailResponseOrderGoodsCouponsFromJson(json);

	Map<String, dynamic> toJson() => $OrderListBeanListOrderGoodsDetailResponseOrderGoodsCouponsToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class OrderListBeanListOrderGoodsDetailResponseOrderLogistics {
	int? deliveryStatus = 0;
	int? issign = 0;
	List<OrderListBeanListOrderGoodsDetailResponseOrderLogisticsList>? list = [];
	String? logo = '';
	String? number = '';
	String? type = '';
	String? typeName = '';

	OrderListBeanListOrderGoodsDetailResponseOrderLogistics();

	factory OrderListBeanListOrderGoodsDetailResponseOrderLogistics.fromJson(Map<String, dynamic> json) => $OrderListBeanListOrderGoodsDetailResponseOrderLogisticsFromJson(json);

	Map<String, dynamic> toJson() => $OrderListBeanListOrderGoodsDetailResponseOrderLogisticsToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class OrderListBeanListOrderGoodsDetailResponseOrderLogisticsList {
	String? status = '';
	String? time = '';

	OrderListBeanListOrderGoodsDetailResponseOrderLogisticsList();

	factory OrderListBeanListOrderGoodsDetailResponseOrderLogisticsList.fromJson(Map<String, dynamic> json) => $OrderListBeanListOrderGoodsDetailResponseOrderLogisticsListFromJson(json);

	Map<String, dynamic> toJson() => $OrderListBeanListOrderGoodsDetailResponseOrderLogisticsListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}